In the field of data transmission, the wide variety of data communications terminals, the widely varying traffic characteristics and the requirements of the communications network have all contributed to the great complexity and, by and large, the essential incompatibility of different data transmission systems. At the same time, the increasing dependence on data transmission and the need for interconnecting various terminal and computer equipment have made a flexible approach to data transmission essential.
The protocol for data transmission can be divided into a hierarchy having at least the following lowest three levels:
Level A--This is the physical level and deals with the electrical voltage and current levels and bit synchronization. PA0 Level B--This is the data link level and deals with error detection, multiplexing and envelope (byte) level synchronization. PA0 Level C--This is the data packet level and deals with error control, flow control and packet level synchronization.
Level A and B protocols are relatively easy to implement and, when necessary, to convert between different standards. Level C protocols, on the other hand, are complex, difficult to implement, and even more difficult or even impossible to convert between. Moreover, protocol definition is a difficult art, and protocol standards are bulky, ambiguous and difficult to verify. Finally, a large amount of equipment is already in place which operates according to one of the existing and largely incompatible protocols. These existing protocols include Bisync, SDLC, HDLC, X.25 (level 3), start/stop and raw byte streams.
The problem, then, is how to design a data transmission network which can interface with terminal equipment designed to operate according to a wide variety of different level C protocols.